@charset "utf-8";
@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,500,700,900,500italic,400italic,300italic,700italic,900italic);

/*Genera Styles such as body, html and styles to carry across whole site*/

body{
	background-color: lightslategray!important;
	font-family: 'Roboto', sans-serif!important;
}
a{
	text-decoration: none;
	color: inherit;
}
ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
.mobile-only{
	display: none;
}
.seo{
	background-color: #222;
	color: white;
	line-height: 20px;
	margin: 0;
	font-size: 14px;
	text-align: center;
	font-weight: 300;
}
/*Header*/
header{
	background-color: rgba(0,0,0,0.3);
}
header .row{
	height: 120px;
	color: #FFF;
	background-color: darkslategray;
}
/*Diamond*/
.diamond{
	width: 60px;
	height: 60px;
	float: left;
	margin-top: 30px;
	margin-left: 20px;
	text-align: center;
	background-color: #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: relative;
	overflow: hidden;
	transform-origin: center center;
}
.diamond span{
	position: absolute;
	color: darkslategray;
	width: 120px;
	height: 40px;
	margin-top: 10px;
	left: -60px;
	margin-left: 30px;
	border: 4px solid darkslategray;
	text-align: center;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	font-size: 30px;
	font-weight: 900;
	line-height: 34px
}
header .row h2{
	float: left;
	display: inline-block;
	margin: 35px 20px;
	line-height: 50px;
	font-weight: 300;
}
.first-word{
	font-weight: 900;
}
/*Navigation*/
nav ul{
	list-style: none;
	color: #FFF;
	height: 50px;
	float: right;
	margin-top: 35px;
}
nav ul li{
	float: left;
	position: relative;
}
nav ul li a{
	display: inline-block;
	padding: 0 10px;
	line-height: 50px;
	-webkit-transition: box-shadow 0.3s;
	-o-transition: box-shadow 0.3s;
	transition: box-shadow 0.3s;
}
nav ul li a:hover,nav ul li a:active{
	box-shadow: inset 0px -2px cadetblue;
}
nav ul li:hover .sub{
	display: block;
}
.sub{
	position: absolute;
	background-color: lightslategray;
	display: block;
	height: auto;
	z-index: 20;
	display: none;
	width: 220px;
	top: 15px;
}
.sub:before{
	width: 20px;
	height: 20px;
	left: 20px;
	background-color: inherit;
	transform: rotate(45deg);
	content: '';
	position: absolute;
	z-index: 1;
	top: -7px;
}
.sub li a{
	width: 100%;
	line-height: 40px;
}
.sub li{
	width: 100%;
	padding-left: 10px;
	float: left;
}

/*Slider(s)*/
.slider div p{
	color: #FFF;
	background-color: #222;
	position: absolute;
	bottom: 60px;
	left: 30px;
	line-height: 40px;
	padding: 0px 20px;
	z-index: 20;
}
/* .slider div p:before{
	width: 20px;
	height: 20px;
	left: 20px;
	background-color: #222;
	transform: rotate(45deg);
	content: '';
	position: absolute;
	z-index: -1;
	top: -7px;
} */
/*Content*/
.content .slider{
	margin-bottom: 20px;
}
.content,.four-col,.strapline{
	background-color: white;
}
.content{
	padding: 32px 0;
	min-height: 500px;
}
.content main p{
	color: #555;
	line-height: 28px;
}
.content main h2{
	position: relative;
	color: #444;
	margin: 0;
	font-size: 30px;
	z-index: 1;
}
.content main h2:after{
	width: 20px;
	height: 20px;
	background-color: #FFF;
	transform: rotate(45deg);
	content: '';
	position: absolute;
	z-index: -1;
	bottom: -5px;
	left: 20px;
}
.content main h2 + p{
	background-color: darkslategray;
	padding: 20px 12px 12px 12px;
	font-weight: 300;
	margin-top: 0;
	color: white;
	opacity: 0.9
}
.content main h3, .content aside h3{
	margin: 0;
	line-height: 34px;
	color: lightslategray;
}
.content main ul{
	border-left: 2px solid darkslategray;
	margin: 10px 0;
	color: #555;
	overflow: hidden;
}
.content main ul li{
	padding-left: 22px;
	position: relative;
	line-height: 28px;
}
.content main ul li:before{
	width: 30px;
	height: 30px;
	background-color: darkslategray;
	transform: rotate(45deg);
	content: '';
	position: absolute;
	left: -31px;
}
.content main blockquote{
	margin: 10px 0;
	padding: 6px 0 6px 22px;
	font-style: italic;
	font-weight: 300;
	border-left: 2px solid darkslategray;
	-webkit-transition: box-shadow 0.5s;
	-o-transition: box-shadow 0.5s;
	transition: box-shadow 0.5s;
}
.content main blockquote:hover{
	box-shadow: inset 700px 0 #EEE;
	cursor: help;
}

.map-container #map{
	width: 100%;
	height: 400px;
	-webkit-filter: grayscale(0.7);
	-o-filter: grayscale(0.7);
	filter: grayscale(0.7);
}
/*Sidebar*/
.content aside h2{
	position: relative;
	color: #EEE;
	background-color: darkslategray;
	margin: 0px 0 0 0;
	padding-left: 10px;
	font-size: 24px;
	z-index: 1;
	line-height: 44px;
}
.content aside h2:after{
	width: 20px;
	height: 20px;
	background-color: inherit;
	transform: rotate(45deg);
	content: '';
	position: absolute;
	z-index: -1;
	bottom: -5px;
	left: 20px;
}
aside #map{
	width: 100%;
	height: 200px;
	-webkit-filter: grayscale(0.7);
	-o-filter: grayscale(0.7);
	filter: grayscale(0.7);
}
.content aside p{
	font-size: 16px;
	color: #555;
}
.content aside img{
	margin-bottom: 20px;
}
/*Strapline*/
.strapline{
	padding: 40px 0 0 0;
}
.strapline p{
	text-align: center;
	color: #444;
	width: 90%;
	margin: 0 auto;
	display: block;
	padding-bottom: 40px;
	border-bottom: 1px solid #ddd;
	font-size: 30px;
	font-weight: 300;
}

/*3 Boxes before the footer*/
.box{
	background-color: #EEE;
	padding: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 2px;
	border: 1px solid  #DDD;
	margin-top: 30px;
	margin-bottom: 30px;
}
.box h3{
	margin: 0;
	line-height: 50px;
	position: relative;
	color: darkslategray;
	z-index: 1;
}
.box h3:before{
	width: 40px;
	height: 40px;
	background-color: #EEE;
	transform: rotate(45deg);
	content: '';
	position: absolute;
	z-index: -1;
	top: -3px;
}
.box p{
	margin: 0;
	font-size: 14px;
	min-height: 180px;
}
/*List before the footer*/
.fancy-list{
	background-color: lightslategray;
	margin-top: 30px;
	margin-bottom: 30px;
	border-radius: 2px;
	overflow: hidden;
	padding: 10px;
	border: 1px solid  #DDD;
}
.fancy-list li{
	line-height: 40px;
	background-color: darkslategray;
	margin: 2px 0;
	padding-left: 15px;
	font-size: 14px;
	position: relative;
	color: #FFF;
}
.fancy-list li:before{
	width: 10px;
	height: 10px;
	margin-top: 15px;
	background-color: lightslategray;
	transform: rotate(45deg);
	content: '';
	position: absolute;
	z-index: 1;
	left: -6px;
}
.fancy-list h3{
	margin: 0;
	color: rgba(255,255,255,0.8);
	font-size: 20px;
	line-height: 40px;
}

/*Call to action*/
.cta{
	background-color: darkslategray;
	color: white;
	padding: 32px 0;
}
.cta h3{
	font-size: 26px;
	margin: 0;
}
.cta p{
	line-height: 30px;
	font-weight: 300;
	margin-top: 4px;
}
.cta h3,.cta p{
	margin-left: 36px;
}
.cta a{
	background-color: cadetblue;
	text-transform: uppercase;
	font-weight: bold;
	line-height: 50px;
	margin: 10px auto;
	padding: 0 20px;
	width: 180px;
	text-align: center;
	display: block;
	border-radius: 2px;
}
/*Footer*/
footer{
	background-color: rgba(0,0,0,0.3);
	color:white;
}
footer .row{
	background-color: #222;
}
footer h3{
	color: cadetblue;
	line-height: 60px;
	font-size: 22px;
	overflow: hidden;
	position: relative;
}
footer h3:after{
	width: 60px;
	content: '';
	bottom: 0;
	left: 0;
	position: absolute;
	height: 2px;
	-webkit-transition: width 0.4s;
	-o-transition: width 0.4s;
	transition: width 0.4s;
	background-color: #eee;
}
footer a:hover h3:after{
	width: 400px;
	background-color: #DDD
}
footer ul, footer address p{
	line-height: 30px;
	color: #DDD;
	margin: 0;
	padding: 0;
	font-weight: 300;
	font-style: initial
}
footer ul li a:hover{
	opacity: 0.6;
}
footer i{
	font-size: 30px!important;
	margin: 0 3px;
}
/*AMCS Bit at the bottom*/
.amcs{
	margin-top: 30px;
	background-color: #111;
	height: 30px;
	font-weight: 300;
	font-size: 12px!important;
	line-height: 30px;
}
.amcs i{
	font-size: 16px!important;
	cursor: pointer;
}
.close-form{
	cursor: pointer;
	font-size: 12px;
}
.callback{
	position: fixed;
	color: #444;
	width: 100%;
	padding: 30px 0;
	bottom: -1000px;
	z-index: 25;
	background-color: #3e5891;
	-webkit-transition: bottom 0.4s;
	-o-transition: bottom 0.4s;
	transition: bottom 0.4s;
}
.callback input{
	width: 100%;
	height: 40px;
	margin-top: 6px;
	padding: 10px;
	outline: 0;
	border: 1px solid #DDD;
}
.callback h2{
	margin: 0 0 10px 0;
	color: #FFF;
	opacity: 0.9
}
.callback h3{
	margin: 0;
	color: #FFF;
	opacity: 0.8;
}
.callback p{
	font-weight: 400;
	color: #FFF;
	opacity: 0.7;
}
.overlay{
	width: 100vw;
	height: 100vh;
	position: fixed;
	z-index: 20;
	display: none;
	background-color: rgba(0,0,0,0.92);
	top: 0px;
}
.show-form{
	bottom: 0px!important
}
/*Tables*/
table {
	width: 100%;
	border-radius: 1px;
	overflow: hidden;
}

table tr {
	background-color: #FFF;
	-webkit-transition: all .25s linear;
	   -moz-transition: all .25s linear;
	    -ms-transition: all .25s linear;
	     -o-transition: all .25s linear;
	        transition: all .25s linear;
}
table tr:nth-child(even){
	background-color: #DDD;
}

table tr td {
	padding: 5px;
	font-size: 13px;
}

table thead tr {
	background-color: darkslategray;
	color: #ffffff;
}

table thead tr th {
	font-weight: 400;
	font-size: 18px;
	text-align: left;
	padding: 10px;
}
table tbody tr:hover {
	background-color: lightslategray;
	color: #FFF;
}
/*Form*/
.myform input,.myform textarea{
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-left: 10px;
}
.myform input{
	height: 40px;
	margin-bottom: 20px;
}
.myform textarea{
	height: 200px;
}
.myform input[type="submit"]{
	background-color: darkslategray;
	border: 0;
	color: #FFF;
}
.disabled{
}
/*Gallery Images*/
.thumb{

}
.thumb:hover{

}
.alert{
	background-color: firebrick!important;
}
/*Maps*/
iframe{

}
#mapbox{
	width: 100%;
	height: 200px;
}
.toggler{
	display: none;
}
/*Responsive Styling*/



@media screen and (max-width: 40em ) {
	.box{
		margin-top: 4px;
		margin-bottom: 4px;
	}
	.box p{
		min-height: auto
	}
	.diamond{
	display: none
	}
	header .row{
	height: auto;
	}
	header .row h2{
		margin: 10px 0;
		float: left;
	}
	.slider div p{
		display: none;
	}
	.strapline p{
		font-size: 20px;
	}
	nav ul{
		margin: 0;
	}
	.cta h3,.cta p,.cta a{
	margin-left: 0px;
	}
	.cta {
		margin: 20px 0;
	}
	.mobile-only{
		display: block;
	}
	nav ul li{
		float: left;
		display: block;
		position: relative;
		width: 100%;
	}
.toggler{
	width: 40px;
	height: 40px;
	margin-top: 15px;
	margin-right: 20px;
	float: left;
	display: block;
	background-color: rgba(0,0,0,0.2);
	cursor: pointer;
}
.toggler div, .toggler div:before, .toggler div:after{
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.toggler div{
	position: relative;
	width: 28px;
	height: 3px;
	background-color: #FFF;
	margin:  18px 6px;
	float: left;
}
.toggler div:before, .toggler div:after{
	width: 28px;
	height: 3px;
	background-color: inherit;
	content:'';
}
.toggler div:before{
	position: absolute;
	bottom: -8px;
}
.toggler div:after{
	position: absolute;
	top: -8px;
}
/*Styles for Open State*/
.open div:before,.open div:after{
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}
.open div:before{
	bottom: 0;
}
.open div:after{
	top: 0;
}
.toggler:hover div, .toggler:hover div::after, .toggler:hover div::before{
	box-shadow: inset 40px 4px cadetblue;
}
.open div{
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
	.sub{
		display: none;
		position: relative;
		width: 100%;
		top: initial;
		padding-left: 0;
	}
	nav ul{
		display: none;
		height: auto;
		overflow: hidden;
		padding: 10px;
		border-left: 2px solid #FFF;
		background-color: rgba(0,0,0,0.3);
		margin: 10px 0;
	}
	nav ul li a{
		line-height: 40px;
		width: 100%
	}
	nav ul li:before{
	width: 40px;
	height: 40px;
	background-color: #FFF;
	transform: rotate(45deg);
	content: '';
	position: absolute;
	left: -54px;
	}
	nav .mobile-only{
		color: #DDD;
	}
}
